package com.business.bean.oa;

import java.util.ArrayList;
import java.util.List;

import com.business.bean.record.DispatchCarRecord;
import com.business.bean.record.MealOrderRecord;

import lombok.Getter;
import lombok.Setter;
import net.sf.rose.jdbc.bean.annotation.Column;
import net.sf.rose.jdbc.bean.annotation.Table;
import net.sf.rose.jdbc.bean.annotation.Type;
import net.sf.rose.jdbc.bean.annotation.View;

/**
 * 
 */
@Setter
@Getter
@Table(name = "OA_DISPATCH_WORK", description = "工程申请调度表")
@View(name = "OA_DISPATCH_WORK_VIEW", description = "工程申请调度视图")
public class DispatchWorkBean {

	@Column(pk = true, type = Type.定长文本, description = "工程调度编号", canNull = false, size = 32, policy = "UUID")
	private String dispatchWorkID = null;

	@Column(type = Type.定长文本, description = "调度编号", size = 32)
	private String dispatchID = null;

	/** yyyy-mm-dd */
	@Column(type = Type.定长文本, description = "调度日期", size = 10)
	private String calendarDate = null;

	@Column(type = Type.定长文本, description = "工程编号", size = 32)
	private String engineerID = null;

	@Column(type = Type.变长文本, description = "工程名称", size = 200)
	private transient String engineerName = null;

	@Column(type = Type.定长文本, description = "客户编号", size = 32)
	private transient String companyID = null;

	@Column(type = Type.变长文本, description = "企业名称", size = 30)
	private transient String companyName = null;

	@Column(type = Type.定长文本, description = "调度员编号", size = 32)
	private String dispatcherID = null;

	@Column(type = Type.变长文本, description = "调度员姓名", size = 50)
	private transient String dispatcherName = null;

	/** 1：调度中；2：已调度；3：已分配；4：已确认；5：已校对；6：已审核 */
	@Column(type = Type.数字整型, description = "状态")
	private int status = 0;

	@Column(type = Type.变长文本, description = "说明", size = 250)
	private String description = null;

	@Column(type = Type.数字整型, description = "每行显示人数")
	private int viewColCount = 0;

	@Column(type = Type.数字整型, description = "排序")
	private int viewSequence = 0;

	public static int VIEW_RETURN_YES = 1;
	public static int VIEW_RETURN_NO = 2;

	@Column(type = Type.数字整型, description = "换行标记")
	private int viewReturnFlag = 0;

	/** 订餐记录 */
	private MealOrderRecord mealOrder = null;

	/** 派车记录 */
	private DispatchCarRecord dispatchCar = null;

	// 签到人员图片列表
	private List<DispatchWorkFile> signWorkerList = new ArrayList<>();

	// 签到日报图片列表
	private List<DispatchWorkFile> signReportList = new ArrayList<>();

	// 下班人员图片列表
	private List<DispatchWorkFile> offWorkerList = new ArrayList<>();

	// 下班日报图片列表
	private List<DispatchWorkFile> offReportList = new ArrayList<>();

	// 人员申请图片列表
	private List<DispatchUserApplyBean> applyList = new ArrayList<>();

	// 人员调度列表
	private List<DispatchUserBean> dispatchList = new ArrayList<>();
}
